JUCE 音同 Juice(果汁),沒有拼錯字,其名來自設計者 Julian Storer,是 Jules Utility Class Extension 的縮寫。使用時要全大寫,使用「Juce」是不對的行為。
Julian 在開發名為 Traction(現在叫「Waveform」)的 DAW (Digital Audio Workstation) 軟體過程中,生出了副產品 JUCE。這個副產品最終成為獨立專案,並提供商用授權。
講到 C++ 跨平台開發框架,Qt 對開發者來說不陌生。我在 2014 年遇見 JUCE。當時因專案需要開發跨平台軟體,原本屬意 Qt,但因為「體積」大,無法滿足需求,因緣際會,發現 JUCE 這個相對輕量的同質工具。
其實 JUCE 第一版早在 2004 年釋出,定位為音樂領域的軟體開發框架,主流的軟體開發圈少為人知。
從我開始接觸的 2014 年至今,JUCE 公司易主兩次。第一次是被樂器製造商 ROLI 收購,至於為什麼樂器製造商要買軟體開發工具,有興趣的讀者可以參考 Star Rocket 的文章〈ROLI:乘著黑色波浪而來的未來樂器〉。
約六年後,JUCE 再次易手,賣給了一間叫 PACE 的公司。與前次收購不同的是,創辦人 Jules Storer 留在 ROLI 繼續開發 SOUL 這個專門針對音樂所設計的程式語言。不過,Jules 本人還是持續在 JUCE 專案盡心力。
過去幾年,我們用 JUCE 開發了許多專案,使用經驗良好。「好康道相報」,此系列文章為入門等級,目標是說明 JUCE 的基本功能,使其成為更多開發者工具箱裡的優質武器。
我計劃以下列面向切入: